/* eslint valid-jsdoc: "off" */

'use strict';



/**
 * @param {Egg.EggAppInfo} appInfo app info
 */
module.exports = appInfo => {
  /**
   * built-in config
   * @type {Egg.EggAppConfig}
   **/
  const config = exports = {};

  // use for cookie sign key, should change to your own and keep security
  config.keys = appInfo.name + '_1';
  /* 😎new ---------------------*/
  /* 代码中所引用的mysql将定义于下方闭包 */
  config.mysql = {
    app: true,     //是否挂载到app下面
    agent: false,  //是否挂载到代理下面
    client: {
      /* 本地直接调试服务器端ip */
      host: '127.0.0.1',      // 数据库地址
      user: 'root',           // 用户名
      // 开发测试阶段,可以使用本地数据库服务,部署的时候将配置修改为云端数据库,ip,port,user,password,database 都要对应上
      // host: '175.24.174.101',
      // user: 'test_db',云服务器上的测试用户名

      port: '3306',           // 端口
      password: '111111',    // 密码
      // 这里不指定表,而是指定数据库
      database: 'test_db'    // 连接的数据库名称(务必将数据库database和表table区分清楚,尤其是在配置创建的时候)
    }
  };
  /* sequelize */
  config.sequelize = {
    dialect: 'mysql',
    database: 'test_db',
    host: 'localhost',
    port: 3306,
    username: 'root',
    password: '111111',
    timezone: '+08:00'
  };

  config.session = {
    key: "PANG_SESS",   // 设置Key的默认值
    httpOnly: true,      // 设置服务端操作
    maxAge: 1000 * 60,   // 设置最大有效时间
    renew: true,        // 页面有访问动作自动刷新session 
  };

  /* old */
  config.jwt = {
    secret: "cxxu"
  };
  /* ejs: */
  config.view = {
    mapping: {
      ".html": "ejs"
    }
  };
  config.ejs = {

    // change the delimiter of the template (such as egg-view-ejs)
    // delimiter: "$"
  };
  exports.view = {
    defaultViewEngine: 'nunjucks',
    mapping: {
      '.tpl': 'nunjucks',
    },
  };

  //CSRF enable false
  config.security = {
    csrf: {
      enable: false,
    }
  };

  // add your middleware config here
  config.middleware = [];
  /* 配置全局中间件 */
  // config.middleware = ['counter'];
  /* 配置局部(路由中间件),还需要到router.js中执行相应的配置 */

  // add your user config here
  const userConfig = {
    // myAppName: 'egg',
  };

  return {
    ...config,
    ...userConfig,
  };
};
